﻿Public Class frmHuidigevoorraad
    Public blnFormGeladen As Boolean = False

    Private Sub frmHuidigevoorraad_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        'Opvullen van de dataview met de producten.
        Me.ProductenTableAdapter.Fill(Me.DtsHuidigeVoorraad.Producten)
        'Opvullen van de bewegingentabel(beide)
        Me.BewegingenTableAdapter1.Fill(Me.DtsPositief.Bewegingen)
        Me.BewegingenTableAdapter.Fill(Me.DtsNegatief.Bewegingen)

        UitgaandeVoorraadFilteren()
        InkomendeVoorraadFilteren()

    End Sub
    Private Sub InkomendeVoorraadFilteren()
        Dim dtvPBewegingen As New DataView
        dtvPBewegingen = DtsPositief.Bewegingen.DefaultView
        dtvPBewegingen.RowFilter = "ProductId =" & My.Settings.GeslecteerdProductnummer
        'De gefilterd dataview toewijzen als datasource van de 1ste Bewegingentabel
        dtvInkomend.DataSource = dtvPBewegingen
    End Sub
    Private Sub UitgaandeVoorraadFilteren()
        Dim dtvNbewegingen As New DataView
        dtvNbewegingen = DtsNegatief.Bewegingen.DefaultView
        My.Settings.GeslecteerdProductnummer = GeselecteerdeProductnummerOphalen()
        dtvNbewegingen.RowFilter = "ProductId =" & My.Settings.GeslecteerdProductnummer
        'De gefilterd dataview toewijzen als datasource van de 1ste Bewegingentabel
        dtvUitgaand.DataSource = dtvNbewegingen
    End Sub

    Private Function GeselecteerdeProductnummerOphalen() As Integer
        Dim intGeselecteerdProdnr As Integer

        intGeselecteerdProdnr = DtvProducten.Item(0, ProductenBindingSource.Position).Value
        Return intGeselecteerdProdnr
    End Function

    Private Sub DetailToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DetailToolStripMenuItem.Click
        Me.Validate()
        Me.ProductenBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.DtsHuidigeVoorraad)
        My.Settings.AantalProducten = DtsHuidigeVoorraad.Producten.Count
        My.Settings.GeslecteerdProductnummer = ProductenBindingSource.Position
        frmProductDetail.Show()
    End Sub

    Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem1.Click
        Me.DtsHuidigeVoorraad.Producten.AddProductenRow("Nieuw product", 0, "", "Dit is product moet nog beschreven worden!")
        DtvProducten.Refresh()
    End Sub

    Private Sub VerwijderenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VerwijderenToolStripMenuItem.Click

        My.Settings.GeslecteerdProductnummer = Me.DtvProducten.CurrentRow.Index


        DtsHuidigeVoorraad.Producten(Me.DtvProducten.CurrentRow.Index).Delete()

        Me.TableAdapterManager.UpdateAll(Me.DtsHuidigeVoorraad)
    End Sub

    Private Sub BewegingenBindingSource_PositionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ProductenBindingSource.PositionChanged
        If blnFormGeladen = True Then
            UitgaandeVoorraadFilteren()
            InkomendeVoorraadFilteren()
        End If
    End Sub

    Private Sub frmHuidigevoorraad_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
        blnFormGeladen = True

    End Sub
    Public Sub RefreshfrmMain()
        blnFormGeladen = False
        'Opvullen van de dataview met de producten.
        Me.ProductenTableAdapter.Fill(Me.DtsHuidigeVoorraad.Producten)
        'Opvullen van de bewegingentabel(beide)
        Me.BewegingenTableAdapter1.Fill(Me.DtsPositief.Bewegingen)
        Me.BewegingenTableAdapter.Fill(Me.DtsNegatief.Bewegingen)
    End Sub

    Private Sub RefreshToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RefreshToolStripMenuItem.Click
        RefreshfrmMain()
        blnFormGeladen = True
        ProductenBindingSource.Position = 0
        UitgaandeVoorraadFilteren()
        InkomendeVoorraadFilteren()
    End Sub

    Private Sub BewegingenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BewegingenToolStripMenuItem.Click
        Me.Validate()
        Me.ProductenBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.DtsHuidigeVoorraad)
        My.Settings.AantalProducten = DtsHuidigeVoorraad.Producten.Count
        My.Settings.GeslecteerdProductnummer = ProductenBindingSource.Position
        frmBewegingen.Show()
    End Sub

    Private Sub AfsluitenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AfsluitenToolStripMenuItem.Click
        Dim intAntwoord As Integer

        intAntwoord = MessageBox.Show("Weet u zeker dat u wilt afsluiten", "Waarschuwing", MessageBoxButtons.YesNo)

        If intAntwoord = 6 Then

            Me.Close()
        End If

    End Sub

    Private Sub OverToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OverToolStripMenuItem.Click
        OverOns.Show()
    End Sub

    Private Sub OpslaanToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpslaanToolStripMenuItem.Click
        Me.Validate()
        Me.ProductenBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.DtsHuidigeVoorraad)
    End Sub

    Private Sub ProductToevoegenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        My.Settings.AantalProducten = DtsHuidigeVoorraad.Producten.Count
        frmProductDetail.Show()
        frmProductDetail.ProductToevoegen()
    End Sub

    Private Sub BewegingToevoegenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        My.Settings.GeslecteerdProductnummer = ProductenBindingSource.Position
        BewegingToevoegen.Show()

    End Sub
End Class